The technology described herein relates to a method of and apparatus for selecting encoding options to use when encoding an array of data elements of a stream of arrays of data elements.
It is common to encode a stream of arrays of data elements, such as arrays of image data values (e.g. frames of video for display), so as to compress the data in order to reduce bandwidth and memory consumption. This is particularly desirable in data processing apparatus, e.g. of portable devices, where processing resources and power may be limited.
In order to encode a stream of arrays of data elements, each array of data elements is often divided into smaller “source” blocks of data elements and encoded on a block by block basis based on the difference between the source block and a “reference” block of data elements that is derived from one or more arrays of the stream of arrays.
The particular encoding options to use when encoding an array typically vary from region to region of the array. For example, the particular size of the source block(s), the particular way in which the reference block(s) are derived, etc., may be different for different regions of the array.
The particular encoding options to use when encoding an array are often selected using a process known as “Rate Distortion Optimisation” (RDO). The RDO process typically involves calculating cost values for various different sets of encoding options for a region and then selecting one or more particular sets of encoding options to use when encoding that region of the array that have an acceptably low cost value.
The drawings show elements of a data processing apparatus and system that are relevant to embodiments of the technology described herein. As will be appreciated by those skilled in the art there may be other elements of the data processing apparatus and system that are not illustrated in the drawings. It should also be noted here that the drawings are only schematic, and that, for example, in practice the shown elements may share significant hardware circuits, even though they are shown schematically as separate elements in the drawings.